const path = require('node:path');
// basename 返回给定路径的最后一部分
// windows 兼容正斜杠的写法
// posxi 处理不了windows路径
// path.win32
console.log('basename',path.basename('/foo/bar/hjh.html')) // hjh.html

// dirname 返回路径的目录名
console.log('dirname',path.dirname('/foo/bar/hjh.html')) // /foo/bar

// extname 返回路径拓展名
console.log('extname',path.extname('/foo/bar/hjh.html')) // .html

// join 拼接路径
console.log('join',path.join('/a','/b','../','/c')) // \a\c

// resolve 返回绝对路径
// 如果都是绝对路径，返回最后一个
// 绝对路径和相对路径拼接，还是会返回绝对路径
console.log('resolve1',path.resolve('/a','/b','/c')) // E:\c
console.log('resolve2',path.resolve('./index.js')) // E:\node\path\index.js

// parse() 解析路径，但会一个对象 path.fornat() 逆向操作
// {
//   root: '/',         根目录
//   dir: '/foo/bar',   文件所在目录
//   base: 'hjh.html',  文件名 + 后缀
//   ext: '.html',      后缀
//   name: 'hjh'        文件名
// }
console.log('parse',path.parse('/foo/bar/hjh.html'))
console.log('format',path.format({
  root: '/',
  dir: '/foo/bar',
  base: 'hjh.html',
  ext: '.html',
  name: 'hjh'
})) // /foo/bar\hjh.html

// sep 判断操作系统
console.log('sep',path.sep) //  windows \   posix /